package com.web.controller;

import com.web.entity.User;
import org.springframework.web.bind.annotation.*;

@RestController
public class UserTestController {

    /**
     * 方法1：直接定义参数
     */
    @RequestMapping("/login1")
    public String login1(String username,String password){
        return "这是第一种方式：" + username + "---" + password;
    }

    /**
     * 方法2：使用@RequestParam配置参数
     * name是参数名 required 是否必填 defaultValue是默认值
     */
    @RequestMapping("/login2")
    public String login2(@RequestParam(name = "username",required = false,defaultValue = "root") String user,
                         @RequestParam(name = "password",required = false,defaultValue = "123456") String pwd){
        return "这是第2种方式：" + user + "---" + pwd;
    }

    /**
     * 方法3：通过对象传参，参数名必须和属性名一致
     */
    @RequestMapping("/login3")
    public String login3(User user){
        return "这是第3种方式：" + user;
    }

    /**
     * 方式4：接受JSON格式的参数
     * @RequestBody 可以接受json转换为对象
     */
    @RequestMapping("/login4")
    public String login4(@RequestBody User user){
        return "这是第4种方式：" + user;
    }

    /**
     * 方式5：通过url路径传参
     * @PathVariable 在路径种使用{参数}获得参数的值
     */
    @RequestMapping("/login5/{username}/{password}")
    public String login5(@PathVariable String username,
                         @PathVariable String password){
        return "这是第5种方法：" + username + "--" + password;
    }
}
